Reference is made to co-filed U.S. application entitled A CLOCK SYSTEM AND CORRESPONDING METHOD FOR PROVIDING A CLOCK TIME ACCOUNTING FOR SYSTEMATIC ERROR, filed on even date herewith.
The above application is assigned to the present assignee. The subject matter of the above application is hereby incorporated by reference.
1. Field of the Invention
The present invention relates to CDMA (Code Division Multiple Access) spread spectrum receivers, and more particularly to fast acquisition GPS (Global Positioning System) receivers.
2. Background of the Invention
Spread spectrum communication in its basic form is a method of taking a data signal used to modulate a sinusoidal carrier and then spreading its bandwidth to a much larger value, e.g. in a global positioning system (GPS) application, by multiplying a single-frequency carrier by a high-rate binary (xe2x88x921,1) pseudo-random noise (PRN) code sequence known to GPS users. Thus, the signal that is transmitted includes a data component, a PRN component, and a (sinusoidal) carrier component.
At the receiver, a synchronized replica of the transmitted PRN code is required to de-spread the data sequence. Initial synchronization, called acquisition, is followed by fine synchronization, which is called tracking.
In a ranging receiver used by a user to determine the position of the user based on the distance of the receiver from GPS satellites, in good signal conditions a range measurement called pseudorange is determined from information provided by tracking channels of the receiver and also from navigation data sent by each of the satellites and decoded by the receiver.
The GPS positioning system relies on the ranging receiver being able to reference to one clock the time when it receives ranging signals from each of the different satellites, and the time the GPS satellites transmitted the ranging signals (and more specifically, a particular fragment of a ranging signal, called here the target signal fragment). The ranging receivers do not, however, as a matter of economics, use clocks that can be synchronized with the clock used by the GPS or the clocks used by the different GPS satellites. The clocks of ranging receivers are based on relatively inexpensive oscillators whose frequency varies, changing permanently in some situations, and changing only temporarily in others. Some causes are categorized as deterministic or causal (e.g. temperature, magnetic fields, and systematic drift) and some as non-deterministic (i.e. random or noise-like causes, such as random walk and so-called flicker noise).
In many navigation systems, Kalman filtering or similar techniques are used to determine a track for a receiver in which errors due to deficiencies in the local oscillator (and due to other sources of error as well) are smoothed out. The tracking is performed by having one or another type of navigation filter use an appropriate model of clock behavior. Conventional models of clock behavior are usually based on random, noise-like changes in frequency measured in the time domain; systematic changes are interpreted as random fluctuations (albeit on a longer time scale than actual random fluctuations), and the process noise covariance matrix in state equations used by the navigation filter is changed to account for such fluctuations.
In some GPS receivers, two clocks are included: a relatively inexpensive and correspondingly less accurate clock, and a more expensive and more accurate clock. The motivation for using two such clocks is that the more expensive clock is more of a power drain. The GPS receiver switches from one clock to the other according to a predetermined schedule for use in which one clock is used for some predetermined period of time and the GPS receiver then switches to the other clock for another (usually different) period of time.
Not unexpectedly, the different kinds of clocks are advantageously represented by different models so that the variation in frequency of the oscillator of each clock can be accounted for in a navigation solution, such as one using a navigation filter (e.g. a Kalman filter applied to the navigation problem). The prior art, however, does not provide for a clock model that includes switching between different clocks, which is necessary in the case of some kinds of navigation solutions because the time between measurements for a navigation solution is usually greater than the time between switching from one clock to another, so any navigation solution that depends on past measurements (such as a Kalman filter solution) involves time measurements made by both clocks.
Accordingly, in a first aspect of the invention, a method is provided for estimating a current state of a clock assembly of at least two clocks including a first clock and a second clock, each clock having a clock phase and a clock fractional frequency, the method including: a step, responsive to a schedule of operations indicating a first time period in a cycle of operation when the first clock is operative and a second time period when the second clock is operative, of providing a clock measurement indicating information about the clock assembly; and a step, responsive to the clock measurement and also responsive to the schedule of operations, for providing the estimate of a current state of the clock assembly using a state filter adapted to use a clock model for the clock assembly, the clock model indicating a state of the clock assembly via a state update process that includes a measure of process noise and that propagates the state of the first clock to the end of the first time period in accordance with the schedule of operations using a state update process for the first clock, uses the state so obtained as the starting state for the second clock at the start of a second time period, and propagates the starting state for the second clock to the end of the second period using a state update process for the second clock, and also for providing a corresponding measure of process noise covariance.
Further in accord with the first aspect of the invention, the measure of process noise may be a process noise vector, the measure of process noise covariance may be a process noise covariance matrix, and the clock measurement may indicate information about the phase and fractional frequency of the clock assembly, and the process noise covariance matrix corresponding to the estimate of the current state of the clock assembly may be based on taking the mathematical expectation of the outer product of the process noise vector of the state update process with itself. Still further, the step of providing the estimate of a current state of the clock assembly may be performed as part of a step of providing an estimate of a current state of a ranging receiver used in conjunction with beacons of a positioning system, and the method may also include a step of providing pseudoranges from the beacons of the positioning system. Further still, the state of the ranging receiver may include as components a clock phase component and a clock frequency component for the clock assembly and may also include either a position component or a velocity component indicating either the position or velocity of the ranging receiver, respectively.
In a second aspect of the invention, a clock system is provided for estimating a current state of a clock assembly including at least two clocks, the clock system including: the clock assembly, responsive to a schedule of operations indicating when in a cycle of operation each of the two clocks is operative, for providing clock signals indicating a clock measurement conveying information about the clock assembly; and a state filter, responsive to the clock signals indicating the clock measurement, and further responsive to the schedule of operations, for providing the estimate of the current state of the clock assembly, wherein the state filter is adapted to use a clock model for the clock assembly, the clock model indicating the state of the clock assembly via a state update process that includes a measure of process noise and that propagates the state of a first one of the clocks of the clock assembly to the end of a first time period in accordance with the schedule of operations using a state update process for the first clock, uses the state so obtained as the starting state for a second clock of the clock assembly at the start of a second time period, and propagates the starting state for the second clock to the end of the second period using a state update process for the second clock, and also for providing a corresponding measure of process noise covariance.
Further in accord with the second aspect of the invention, the measure of process noise may be a process noise vector, the measure of process noise covariance may be a process noise covariance matrix, the clock measurement may indicate information about the phase and fractional frequency of the clock assembly, and the process noise covariance matrix corresponding to the estimate of the current state of the clock assembly may be based on taking the mathematical expectation of the outer product of the process noise vector of the state update process with itself.
Also, a ranging receiver for use with beacons of a positioning system is provided, including a clock system in accord with the second aspect of the invention, and also a navigation solver, wherein the state filter is adapted for use in the ranging receiver as part of the navigation solver, and wherein the state filter is further responsive to pseudoranges determined from signals provided by the beacons of the positioning system, and wherein the state estimated by the state filter includes the state of the clock assembly as well as the state of the ranging receiver in respect to an aspect of the position of the ranging receiver as a function of time. Further, the measure of process noise may be a process noise vector, the measure of process noise covariance may be a process noise covariance matrix, the clock measurement may indicate information about the phase and fractional frequency of the clock assembly, and the process noise covariance matrix corresponding to the estimate of the current state of the clock assembly may be based on taking the mathematical expectation of the outer product of the process noise vector of the state update process with itself. Further still, the state of the ranging receiver may include as components a clock phase component and a clock fractional frequency component, and may also include either a position component or a velocity component indicating either the position or velocity of the ranging receiver, respectively. Also further still, In addition, the invention provides a system including a ranging receiver according to the invention for use with a positioning system and also the beacons of the positioning system.
The invention makes possible using with a Kalman filter an assembly of several clocks as a principal component of a clock system that uses first one of the clocks and then another, and so on, according to a predetermined schedule adapted to one or another clock switching scheme and navigation filter discretization; and with the invention, clock error is reduced.